package com.note7_5;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;

public class Question3 {
	
	/*
	 * 实现文件复制的功能，通过命令行参数，输入一个源文件名，和目标文件夹，复制后文件名保持不变。
	 * 比如输入 d:\mydoc\1.jpg, 和f:\img,则复制 d:\mydoc\1.jpg 到 f:\img 目录下。
	 * 
	 * File下的renameTo(文件路径)   
	 * Files类定义了移动或在一个平台无关的方式重命名一个文件的move方法
	 */
	
	public void Copy(String path,String copyPath){
		InputStream is = null;
		OutputStream os = null;
		try {
			is = new FileInputStream(path);
			os = new FileOutputStream(copyPath);
			byte[] b = new byte[is.available()];
			while((is.read(b)) > -1){
				os.write(b);
			}
			System.out.println("复制完成");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{	//关闭io流
			if(is!=null){
				try {
					is.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(os!=null){
				try {
					os.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
	
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入要复制的文件位置：");
		String path = in.nextLine();
		System.out.println("请输入复制后文件的存放位置：");
		String copyPath = in.nextLine();
		Question3 q = new Question3();
		q.Copy(path, copyPath);
	}
}
